home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 44
/
Aminet 44 (2001)(GTI - Schatztruhe)[!][Aug 2001].iso
/
Aminet
/
mus
/
misc
/
NallePUH.readme
< prev
next >
Wrap
Text File
|
2001-07-04
|
5KB
|
127 lines
Short: Redirects any (hw-banging) sound program to AHI
Author: Martin Blom <martin@blom.org>
Uploader: Martin Blom <martin@blom.org>
Version: 0.3
Type: mus/misc
Requires: An MMU, 68020+, AHI v4, OS 3.5 for GUI mode
Q: What is "Nalle Puh"?
A: It's the Swedish name for Winnie the Pooh.
Q: Really?
A: Yup.
Q: But... Ehm. What does this program, "Nalle PUH", do?
A: It's a hack that intercepts some custom chip register accesses and
turns them into AHI function calls.
Q: How?
A: By using the MMU to mark the page at $dff000 as invalid.
Q: Invalid? Doesn't that mean you will get an exception each time the OS
or an application touches the registers?
A: Exactly.
Q: Isn't that kind of... slow?
A: You bet.
Q: How slow?
A: Unbearable.
Q: So the program is useless, then?
A: Not quite. It can be instructed to patch the OS and all applications that
read or write to the custom chip registers, so that next time the
instruction is executed, no exception will be generated.
Q: How?
A: A new chip register area is created at $80dff000. For the kickstart ROM,
all modules except audio.device will be patched to access this address
instead of $dff000. For applications, I simply guess when it's ok to
patch the instructions.
Q: Is that fool-proof?
A: Of course not. It's a hack. A proof of concept. Nothing more.
Q: Alright then. So what programs can be redirected?
A: I've tried the following programs, and they seem to work:
* audio.device
* Digibooster 1.7
* Musicline Editor 1.5
* Octamed Soundstudio 1.03c
* Protracker (version 2.3 and 4.0)
* THX Sound System 2.3d.
I've also tried the following, and they don't:
* Delitracker 2.32
* Newtracker
* PlaySID
(Note that Protracker disables multitasking and cannot be used with AHI
drivers that are not interrupt based.)
Previously, I wrote that Sid4Amiga also could be redirected, which is just
plain stupid, since Sid4Amiga already uses AHI. Duh! Sorry, Paul.
Q: Will you extend Nalle PUH so the all of those program work?
A: Unlikely.
Q: Pretty, pretty please!
A: No. The source code is available. Why don't you give it a shot yourself?
Q: Because <insert lame excuse here>.
A: Too bad.
Q: Suppose I do fix the program, is there anything else I should do?
A: You could certanly improve the instruction patching method. And it could
also be wise to set up a cachable Chip-RAM mirror so AHI won't have to
mix the samples from a non-cachable memory area.
Q: Hey! I found a memory leak: You don't close mmu.library! And you don't
clean up the MMU tables fully either.
A: I know. The custom chip register mirror must stay if applications were
patched. mmu.library must not be flushed from memory, or we loose the
mirror.
Version history:
0.1, 2001-04-23: * Initial release.
0.2, 2001-04-28: * Redirected logging to the listview in GUI mode.
* Minor GUI updates.
0.3, 2001-05-04 * Clears insr. caches when patching applications.
* Added a few more instr. patches (base relative).
This means that I had to move the register mirror
to $e00000. At least that area is unused on my A4000.
* The GUI does not touch the Paula registers on exit,
unless the user has pressed "Test" at least once.
* Final update! I've returned the sound card I
borrowed to write this hack. Thus, no more updates.
============================= Archive contents =============================
Original Packed Ratio Date Time Name
-------- ------- ----- --------- -------- -------------
55972 55972 0.0% 04-May-01 10:44:08 +MuMin.lha
5488 2436 55.6% 27-Mar-01 22:16:56 +MuMin.readme
6290 1813 71.1% 14-Apr-01 16:55:32 +CompilerSpecific.h
19064 7097 62.7% 22-Apr-01 16:15:54 +COPYING
636 362 43.0% 28-Apr-01 20:19:48 +Makefile
25744 5627 78.1% 04-May-01 10:43:32 +Nalle.c
503 275 45.3% 04-May-01 10:43:32 +NallePUH.cd
368 197 46.4% 23-Apr-01 00:42:28 +NallePUH.h
24780 7989 67.7% 28-Apr-01 20:19:48 +NallePUH.o
3290 938 71.4% 04-May-01 10:43:32 +NallePUH.res
4070 1131 72.2% 04-May-01 10:43:32 +NallePUHstr.s
6989 6989 0.0% 23-Apr-01 00:42:30 +pooh11.gif
78004 32734 58.0% 23-Apr-01 00:42:30 +pooh11.o
50181 9736 80.5% 04-May-01 10:43:32 +PUH.c
3660 1413 61.3% 28-Apr-01 19:48:32 +PUH.h
3390 1699 49.8% 04-May-01 10:43:34 +README
125380 53967 56.9% 04-May-01 10:47:38 +NallePUH
3390 1699 49.8% 04-May-01 10:41:04 +NallePUH.readme
-------- ------- ----- --------- --------
417199 192074 53.9% 04-May-101 20:15:22 18 files